package com.sugon.entity;

import cn.hutool.core.util.StrUtil;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 模具型芯备件采购批次信息实体
 * 表名 MODULE_SP_PURCHASING_BATCH
 *
 * @author YuXD
 * @date 2021-12-04
 */
@NoArgsConstructor
@Data
public class ModuleSpPurchasingBatchEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 备注
     */
    private String remark;
    /**
     * 最近一次更新用户
     */
    private String modifyUser;
    /**
     * 最近一次更新时间
     */
    private Date gmtModified;
    /**
     * 创建用户
     */
    private String createUser;
    /**
     * 创建时间
     */
    private Date gmtCreate;
    /**
     * 供应厂商ID
     */
    private String supplierId;
    /**
     * 型芯备件ID
     */
    private String moldSpId;

    /**
     * 单价
     */
    private BigDecimal unitPrice;

    /**
     * 条码解析规则
     */
    private String barCordAnalysisRule;
    /**
     * 主键
     */
    private String id;

    /**
     * 删除标识
     */
    private Integer delFlag;
    /**
     * 本批次实际入库数
     */
    private Integer stockInNum;
    /**
     * 本批次入库数
     */
    private Integer stockOutNum;

    /**
     * 开始月份
     */
    private String beginMonth;

    /**
     * 结束月份
     */
    private String endMonth;

    public ModuleSpPurchasingBatchEntity(String id) {
        this.id = id;
    }

    /**********************VO字段************************/
    /**
     * 供应厂商名称
     */
    private String supplierName;

    /**
     * 型芯名称
     */
    private String moldSpName;

    /**
     * 图号
     */
    private String mapNo;

    /**
     * 型芯的条码代码 如：0749
     * 0748
     * 0747
     * 0002
     * 0467
     */
    private String uniqueBarCode;

    /**
     * 获取可用的月份列表
     *
     * @return
     */
    public List<String> getMonthlyList() {
        return StrUtil.split(StrUtil.subBetween(this.barCordAnalysisRule,"(",")"),"|");
    }

}
